#ifndef NICE_MERGE_SOLVER_HPP_
#   define NICE_MERGE_SOLVER_HPP_

#   include "Solver.hpp"

class NiceMergeSolver : public Solver
{
    public:
        NiceMergeSolver(VRPTW& inVRPTW, const std::deque<unsigned>& inBase, unsigned inMaxIt)
            : Solver(inVRPTW), nmMaxIt(inMaxIt), nmBase(inBase), nmSolution(inVRPTW)
        {}
        
        void    execute() EXC_THROWER();
    
    protected:
        const unsigned          nmMaxIt;
        std::deque<unsigned>    nmBase;
        Solution                nmSolution;
};

#endif
